home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 147
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin
/
fdimg
/
oh!.2hd
/
OH!DEN_B.LZH
/
TOOLS
/
CDC
/
CDCSRC.LZH
/
SCSIC.S
< prev
next >
Wrap
Text File
|
1995-03-20
|
2KB
|
146 lines
.globl _scsi_cmd
_scsi_cmd:
link a6,#-4
move.w #1,_ScscUse
move.l d7,-(sp)
moveq #$1f,d1 *target常駐チェック
moveq #_SCSIDRV,d0
trap #15
move.l d0,d7
cmpi.w #-2,d7
bne @f
move.w sr,-(sp)
DI
@@:
movem.l a1/d3-d6,-(sp)
* move.l _SCSI_ROMB(pc),a1 *アービトレーションのつもりだったが・・・
*@@: move.b $B(a1),d3
* andi.b #$07,d3
* bne @b
move.w _SCSI_ID,d4
SCSI _S_SELECT
tst.l d0
jbeq _scm2
moveq.l #-4,d0
jbra _scm1
_scm2:
movea.l 12(a6),a1
move.l 8(a6),d3
SCSI _S_CMDOUT
tst.l d0
jbeq _scm3
moveq.l #-3,d0
jbra _scm1
_scm3:
move.l 16(a6),d3
tst.l d3
jbeq _scm4
movea.l 20(a6),a1
move.l 16(a6),d3
SCSI _S_DATAIN_P
tst.l d0
jbne _scm5
lea -1(a6),a1
SCSI _S_STSIN
tst.l d0
jbne _scm17
lea -3(a6),a1
SCSI _S_MSGIN
tst.l d0
jbeq _scm21
jbra _scm18
_scm5:
tst.l d0
jblt _scm1
lea -1(a6),a1
SCSI _S_STSIN
tst.l d0
jbne _scm17
lea -3(a6),a1
SCSI _S_MSGIN
tst.l d0
jbeq _scm21
jbra _scm18
_scm4:
lea -1(a6),a1
SCSI _S_STSIN
tst.l d0
jbne _scm17
lea -3(a6),a1
SCSI _S_MSGIN
tst.l d0
jbne _scm18
_scm21:
moveq.l #0,d0
move.b -3(a6),d0
asl.l #8,d0
moveq.l #0,d1
move.b -1(a6),d1
add.l d1,d0
jbra _scm1
_scm18:
moveq.l #-1,d0
jbra _scm1
_scm17:
moveq.l #-2,d0
_scm1:
movem.l (sp)+,a1/d3-d6
cmpi.w #-2,d7
bne @f
move.w (sp)+,sr *(EI)
@@: move.l (sp)+,d7
clr.w _ScscUse
unlk a6
rts
.globl _scsi_testunit
_scsi_testunit:
link a6,#0
movem.l d3/d4,-(sp)
move.l 8(a6),d4
SCSI _S_TESTUNIT
movem.l (sp)+,d3/d4
unlk a6
rts
.globl _scsi_inquiry
_scsi_inquiry:
movem.l d3-d4,-(a7)
move.l $000c(a7),d3
move.l $0010(a7),d4
movea.l $0014(a7),a1
moveq.l #$f5,d0
moveq.l #$20,d1
trap #15
movem.l (a7)+,d3-d4
rts
.globl _scsi_rezerounit
_scsi_rezerounit:
move.l d4,-(sp)
move.l 8(sp),d4
SCSI _S_REZEROUNIT
move.l (sp)+,d4
rts
.globl _cdd_ioctrl
_cdd_ioctrl:
move.l 4(sp),d0 *com
move.l 8(sp),d1 *buf
move.l d1,-(sp) *buf
move.w d0,-(sp) *com
move.w _CddDrvNo,-(sp)
move.w #13,-(sp)
DOS _IOCTRL
lea 10(sp),sp
rts